home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / Hello / Sources / Commands.h < prev    next >
Encoding:
Text File  |  1996-08-16  |  4.3 KB  |  159 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                Commands.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef COMMANDS_H
  11. #define COMMANDS_H
  12.  
  13. // ----- Framework Includes -----
  14.  
  15. #ifndef FWCLPCMD_H
  16. #include "FWClpCmd.h"
  17. #endif
  18.  
  19. #ifndef FWDRCMD_H
  20. #include "FWDrCmd.h"
  21. #endif
  22.  
  23. #ifndef FWBNDSTR_H
  24. #include "FWBndStr.h"
  25. #endif
  26.  
  27. //========================================================================================
  28. // Forward Declarations
  29. //========================================================================================
  30.  
  31. class CHelloContent;
  32.  
  33. //========================================================================================
  34. // CHelloEditCommand
  35. //========================================================================================
  36.  
  37. class CHelloEditCommand : public FW_CClipboardCommand
  38. {
  39. //----------------------------------------------------------------------------------------
  40. //    Initialization/Destruction
  41. //
  42. public:
  43.  
  44.     FW_DECLARE_AUTO(CHelloEditCommand)
  45.     
  46.     CHelloEditCommand(Environment* ev,
  47.                       ODCommandID id,
  48.                       CHelloContent* itsContent,
  49.                       FW_CFrame* frame);
  50.  
  51.     virtual ~CHelloEditCommand();
  52.  
  53. //----------------------------------------------------------------------------------------
  54. //    Inherited API
  55. //
  56. public:
  57.     virtual void        UndoIt(Environment *ev);
  58.     virtual void        RedoIt(Environment *ev);
  59.     virtual void        SaveUndoState(Environment *ev);
  60.  
  61. //----------------------------------------------------------------------------------------
  62. //    New API
  63. //
  64. private:
  65.     void                 RemoveSelection(Environment* ev);
  66.     void                 RestoreSelection(Environment* ev);
  67.     void                 SwapSelection(Environment* ev);
  68.  
  69. //----------------------------------------------------------------------------------------
  70. //    Data Members
  71. //
  72. private:
  73.     CHelloContent*        fHelloContent;
  74.     FW_CString255        fSavedTextData;        // Saved data for undo/redo
  75. };
  76.  
  77.  
  78.  
  79. //========================================================================================
  80. //    class CHelloDragCommand
  81. //========================================================================================
  82.  
  83. class CHelloDragCommand : public FW_CDragCommand
  84. {
  85. //----------------------------------------------------------------------------------------
  86. //    Initialization/Destruction
  87. //
  88. public:
  89.  
  90.     FW_DECLARE_AUTO(CHelloDragCommand)
  91.     
  92.     CHelloDragCommand(Environment* ev,
  93.                       CHelloContent* content,
  94.                       FW_CFrame* frame);
  95.     virtual ~CHelloDragCommand();
  96.  
  97. //----------------------------------------------------------------------------------------
  98. //    Inherited API
  99. //
  100. public:
  101.     virtual void        UndoIt(Environment *ev);
  102.     virtual void        RedoIt(Environment *ev);
  103.     virtual void        SaveUndoState(Environment *ev);
  104.  
  105. //----------------------------------------------------------------------------------------
  106. //    Data Members
  107. //
  108. private:
  109.     CHelloContent*        fHelloContent;
  110.     FW_CString255        fSavedTextData;        // Saved data for undo/redo
  111. };
  112.  
  113. //========================================================================================
  114. //    class CHelloDropCommand
  115. //========================================================================================
  116.  
  117. class CHelloDropCommand : public FW_CDropCommand
  118. {
  119. //----------------------------------------------------------------------------------------
  120. //    Initialization/Destruction
  121. //
  122. public:
  123.  
  124.     FW_DECLARE_AUTO(CHelloDropCommand)
  125.     
  126.     CHelloDropCommand(Environment *ev,
  127.                       CHelloContent* content,
  128.                       FW_CFrame* frame,
  129.                       ODDragItemIterator* dropInfo, 
  130.                       ODFacet* odFacet,
  131.                       const FW_CPoint& dropPoint);
  132.  
  133.     virtual ~CHelloDropCommand();
  134.  
  135. //----------------------------------------------------------------------------------------
  136. //    Inherited API
  137. //
  138. public:
  139.     virtual void        UndoIt(Environment *ev);
  140.     virtual void        RedoIt(Environment *ev);
  141.     virtual void        SaveUndoState(Environment *ev);
  142.  
  143. //----------------------------------------------------------------------------------------
  144. //    New API
  145. //
  146. private:
  147.     void SwapSelection(Environment* ev);
  148.  
  149. //----------------------------------------------------------------------------------------
  150. //    Data Members
  151. //
  152. private:
  153.     CHelloContent*        fHelloContent;
  154.     FW_CString255        fSavedTextData;        // Saved data for undo/redo
  155. };
  156.  
  157.  
  158. #endif
  159.